home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / ab20 / ab20_archive / utilities / emulators / a64v2d2.lzh / Doc / Technical < prev    next >
Text File  |  1991-10-02  |  13KB  |  379 lines

  1.  
  2.  
  3.  
  4. TECHNICAL
  5.  
  6.  
  7. A64 AND MULTITASKING
  8.  
  9.     A64 is fully multitasking compatible.  A64 should work just fine
  10.     with any program that follows the rules of multitasking
  11.     programming on the Amiga.  The only programs that A64 may not
  12.     work with are programs that take over some part of, or all of,
  13.     your Amiga, like some games and some other emulators.  Which
  14.     brings us to our next point.  A64 can not multitask itself.  Even
  15.     though A64 is capable of multitasking it still takes over system
  16.     resources that can not be shared with other programs, so one copy
  17.     of A64 can not share these resources with another copy of A64
  18.     (See A64'S THREE MODES OF OPERATION in the SYSTEM MENU section).
  19.  
  20.  
  21. A64 AND MEMORY
  22.  
  23.     A64 is a very memory hungry program and in its full capacity it
  24.     can easily use over 500k of your Amiga's memory.  We recommend
  25.     having a minimum of 1mb of RAM to use A64.
  26.  
  27.     Different memory configurations can make a dramatic difference in
  28.     the speed of A64.  The worst case is running A64 on a A500 or
  29.     A2000 with 1mb RAM and the best case is running A64 on a 68030
  30.     based system with 32 bit RAM.  On a 68030 based system speeds of
  31.     over 200% have been reached with some programs.  We recommend at
  32.     least 1mb of RAM no matter how your Amiga is configured and this
  33.     statement can be elaborated.  If you are running A64 on an Amiga
  34.     1000 we recommend at least 1mb of RAM.  If you are running A64 on
  35.     an A500 or A2000 we recommend at least 1.5mb.  The reason for
  36.     this difference is not because A64 will not run on A500s or
  37.     A2000s with only 1mb, it's because A64 will run faster if these
  38.     machines have more than 1mb.  This is because A500's and A2000's
  39.     with only 1mb do not have what is called FAST RAM.  This is RAM
  40.     that can not be used by graphics and as a result programs run
  41.     faster when using it.  We also recommend running the program
  42.     "FastMemFirst," found in the System drawer of the V1.3 WorkBench,
  43.     before running A64.  This program will force A64 (and other
  44.     programs) to use this FASTer memory first.
  45.  
  46.  
  47. 680x0 SUPPORT
  48.  
  49.     All of the programs in The A64 Package will work with any 680x0
  50.     microprocessor.  They have been tested with the 68000, 68010,
  51.     68020 and 68030 microprocessors.
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.                                                                  6-1
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68. A64 AND THE A3000
  69.  
  70.     A64 V2.0 will run on the A3000, but because of the speed of the
  71.     A3000, communications with C64 devices using our interface will
  72.     not work.  This problem also exists with all of The A64 Packages
  73.     utilities that use our hardware interface.  We are working on
  74.     correcting this problem and hopefully it will be fixed for a
  75.     future release.  Please note that this problem does not exist
  76.     with other Amiga models using 68030 boards, this problem is
  77.     specific to the A3000.
  78.  
  79.  
  80. ROMS
  81.  
  82. WHAT IS ROM
  83.  
  84.     ROM is short for "READ ONLY MEMORY."  A ROM is a computer chip
  85.     that is capable of storing a program and like its name implies,
  86.     it is READ ONLY, which means you can not change the program it
  87.     contains.  ROM unlike RAM (your computer's memory) does not loose
  88.     its contents when your computer is turned off.  Computers usually
  89.     come with ROM to tell it what to do when it's turned on.  Your
  90.     Amiga uses a ROM called "KickStart."
  91.  
  92. THE C64'S ROMS
  93.  
  94.     The C64 has two ROMs that contain its operating system.  One ROM
  95.     holds the C64's BASIC and the other ROM holds the C64's KERNAL.
  96.     A64 does not come with the C64's BASIC or KERNAL, because they
  97.     are copyrighted.  Before you start worrying that A64 will not
  98.     work without them, this is NOT the case.  A64 contains a very
  99.     complex C64 ROM emulation which allows A64 to run most C64
  100.     programs, without the C64's ROMs.
  101.  
  102. A64'S ROMS
  103.  
  104.     NOTE: This section of the manual gets a little technical by
  105.           discussing machine language.  If you are not familiar with
  106.           machine language you should still read this section and and
  107.           try to follow it as best you can, it contains some very
  108.           important information about A64.
  109.  
  110.     As mentioned above, A64 comes with a very complex C64 ROM
  111.     emulation, this ROM emulation will handle the majority of C64
  112.     programs, but not all of them.  To explain what A64's ROM
  113.     emulation will and will not handle we need to discuss machine
  114.     language.
  115.  
  116.     The C64's ROMs contain machine language programs.  Machine
  117.     language programs are made up of opcodes.  Opcodes are machine
  118.     language instructions that tell the computer to perform some tiny
  119.  
  120.  
  121.                                                                  6-2
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.     operation, like move a value from one place to another or perform
  132.     some kind of operation to a value.  It takes many, many opcodes
  133.     to perform even the simplest operations on your computer.  The
  134.     C64's ROMs contain many thousands of these opcodes.  The C64's
  135.     ROMs are located in the C64's memory map at 40960-49151 (BASIC)
  136.     and 57344-65535 (KERNAL), these numbers are called addresses.  To
  137.     access the C64's ROMs and the opcodes they contain you need to
  138.     JUMP to one of these addresses.  With BASIC this done with the
  139.     command "SYS."
  140.  
  141.     For example, to reset the C64 (or A64), you can type the
  142.     following:
  143.  
  144.        SYS 64738 [RETURN]
  145.  
  146.     This will cause the C64 (or A64) to enter the KERNAL ROM at
  147.     address 64738 and start executing machine language opcodes
  148.     starting at that address.
  149.  
  150.     If you were to disassemble (a disassembler is a program that
  151.     turns machine language into a readable form) one of the C64's
  152.     ROMs, you would get a listing similar to this:
  153.  
  154.         40960   LDX #10
  155.         40962   LDA #138
  156.         40964   STA 1024
  157.         40967   ...
  158.  
  159.     NOTE: This listing is only used as an example and is not part of
  160.           the C64's ROMs.
  161.  
  162.     The listing shows ROM addresses followed by the opcode stored at
  163.     each address.  Please note that the addresses are not perfectly
  164.     consecutive, this is because different opcodes have different
  165.     lengths.  If A64 was to JUMP into the ROMs, using the above
  166.     example, it would handle JUMPING in at all of the shown
  167.     addresses: 40960, 40962, 40964 and 40967.  The problem occurs if
  168.     A64 tried to JUMP in at one of the addresses not shown, the
  169.     addresses between opcodes.  Because of the way machine language
  170.     is, it is possible for an opcode to have another opcode contained
  171.     within it.  For example, if you disassembled the same code as
  172.     above, but started at address 40963, you would get a listing like
  173.     this:
  174.  
  175.         40963   TXA
  176.         40964   STA 1024
  177.         40967   ...
  178.  
  179.     The opcode "TXA" at address 40963 is contained within the opcode
  180.     "LDA #138" at address 40962.  This is what A64 will not handle,
  181.     when emulating the C64's ROMs, the JUMPING into the ROMs between
  182.  
  183.  
  184.                                                                  6-3
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.     opcodes.  If you are running a program that tries to JUMP into
  195.     the C64's ROMs between opcodes A64 will trap it and display an
  196.     error requester telling you "PROGRAM EXECUTING DATA ROMS."  This
  197.     problem is only apparent when JUMPING into the C64's ROMs between
  198.     opcodes and is not a problem when running C64 programs that use
  199.     the same technique to JUMP within themselves.  This problem can
  200.     be corrected by installing the C64's ROMs into A64.
  201.  
  202. INSTALLING THE C64 ROMS
  203.  
  204.     NOTE: If you have an original copy of GO-64! V2.0 you can install
  205.           the C64 ROMs directly from the GO-64! disk.  See the
  206.           GrabGO64ROMs utility in the UTILITIES section.
  207.  
  208.     Installing the C64's ROMs into A64, basically involves saving the
  209.     contents of the C64's ROMs (this must be done on a C64) to a C64
  210.     disk and then copying them to your A64 disk.  Installing the
  211.     C64's ROMs into A64 is not difficult, but it does require a few
  212.     small steps to accomplish.  Once the C64's ROMs are installed you
  213.     never have to worry about them again.  A64 will automatically
  214.     load the C64's ROMs and use them whenever the above mentioned
  215.     problem occurs.
  216.  
  217.     To install the C64 ROMs you need the following:
  218.  
  219.         A C64
  220.         A C64 disk drive (i.e., 1541)
  221.         A64's hardware interface
  222.         A 5 1/4" disk, formatted on a C64, with at least 20k free
  223.  
  224.         NOTE: You can format the C64 disk with the utility 64Cmd from
  225.               64Tools.
  226.  
  227.      and the following programs that are included with The A64
  228.      Package:
  229.  
  230.         SaveROMs
  231.         64Tools
  232.  
  233.     The following procedure outlines the installation of the C64
  234.     ROMs. Part of it has to be done on a C64 and the rest must be
  235.     done on the Amiga.  This example assumes you are using an A64
  236.     WorkBench disk as described in the GETTING STARTED section.
  237.  
  238.     The first thing you need to do is copy the C64 program "saveroms"
  239.     from the A64 disk to a C64 disk.  This program is used to save
  240.     the Commodore 64's ROMs to a C64 disk.
  241.  
  242.         1. Install A64's hardware interface and connect a C64 disk
  243.            drive to it (See INSTALLING A64'S HARDWARE INTERFACE in
  244.            the GETTING STARTED section).
  245.  
  246.  
  247.                                                                  6-4
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.         2. Run the 64Tools program found in the A64Utilities drawer
  258.            on your A64 WorkBench.
  259.         3. Select the AmigaTo64 gadget.  A requester will open asking
  260.            you enter the source filename and destination filename.
  261.  
  262.            For the source filename type "A64:64Prgs/saveroms." Note
  263.            that saveroms is in all lowercase characters.  You do not
  264.            need to enter a destination name, the name "saveroms" will
  265.            be used for the destination name.  After you are done
  266.            entering the name select the OK gadget.  The C64 program
  267.            "saveroms" will then be copied to the C64 disk.
  268.  
  269.     Now that the C64 program "saveroms" is on the C64 disk you need
  270.     to load and run it on a C64:
  271.  
  272.         1. Either unplug the C64 disk drive from the interface or use
  273.            another C64 disk drive and connect it to a C64.
  274.         2. With the C64 disk containing the program "saveroms" in the
  275.            C64 disk drive type the following on the C64:
  276.  
  277.             LOAD "SAVEROMS",8 [RETURN] 
  278.  
  279.         3. After the program is done loading type:
  280.  
  281.             RUN [RETURN]
  282.  
  283.         4. You will then be prompted to insert a disk into drive 8
  284.            and press any key when ready.
  285.         5. After pressing any key the C64 ROMs will be saved to the
  286.            C64 disk.
  287.  
  288.     Now that the C64's ROMs are saved to a C64 disk you need to
  289.     transfer them to your disk containing A64.
  290.  
  291.         1. If you need to reconnect the C64 disk drive to your Amiga
  292.            with A64's hardware interface, do so.
  293.         2. Now select the New Disk gadget in 64Tools.
  294.         3. The directory of the 64 disk will then be read.
  295.         4. Select the Exclude All gadget to unselect all the files.
  296.         5. Select the programs "basic.rom" and "kernal.rom" by
  297.            clicking the left mouse button on their names.
  298.         6. At the bottom of the 64Tools window is the Destination
  299.            gadget.  Select this gadget and enter the following:
  300.            64:TheA64Package.
  301.         7. When you are done select the START gadget to copy the
  302.            ROMs.
  303.         8. After the ROMs are copied you need to run the program
  304.            StripLoadAddr on them.  Select the StripLoadAddr gadget.
  305.            A requester will appear asking you to enter the filename.
  306.            For the first ROM enter: "64:TheA64Package/BASIC.rom."
  307.            And select the OK gadget.  When StripLoadAddr is done,
  308.  
  309.  
  310.                                                                  6-5
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.            repeat the procedure for the second ROM.  Enter:
  321.            "64:TheA64Package/KERNAL.rom" and then select the OK
  322.            gadget.
  323.  
  324.     The C64's ROMs are now installed.  A64 will automatically load and
  325.     use them when needed.
  326.  
  327.     NOTES: Once you have installed the C64 ROMs you will be able to
  328.            disable A64 ROM emulation at will with the A64 ROMs menu
  329.            option in A64 Prefs.  Disabling A64's ROM emulation will
  330.            free about 180k of RAM, but will result in some programs
  331.            running slower.
  332.  
  333.            It is highly recommended that you install the C64's ROMs
  334.            if you have access to a C64.  We have come across a few
  335.            programs that won't run without the ROMs installed for
  336.            reasons other than the in-between opcode problem described
  337.            above.  You have to expect the lack of ROMs in the C64
  338.            memory map to create problems with some C64 programs. The
  339.            C64's ROMs take up about 20% of the C64's total memory
  340.            map, that's a big chunk of missing information.
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.                                                                  6-6
  374.  
  375.  
  376.  
  377.  
  378.  
  379.